import env from "@/config/env.js";
const $http = uni.$u.http;

$http.setConfig((config) => {
	/* config 为默认全局配置 */
	config.baseURL = env.baseUrl; // 根域名
	/* 可以加一些自定义参数，在拦截器等地方使用 */
	config.custom = {
		// 如果true就传token
		auth: true,
		// 是否显示加载动画
		loading: true,
	};
	return config;
});

/* 请求拦截器 */
$http.interceptors.request.use(
	(config) => {
		return config;
	},
	(config) => {
		// 可使用async await 做异步操作
		return Promise.reject(config);
	}
);

/* 响应拦截器 */
$http.interceptors.response.use(
		(response) => {
		if (response.data.status === 400) {
			if(response.data.msg == "用户已被删除") {
				//跳转进入登录页
				uni.reLaunch({
					url: "/pages/login/index",
					success: () => {}
				})
				return {status: 400, msg: "请登录", data: null}
			} else {
				return response.data;
			}
		} else {
			return response.data;
		}
	},
	(response) => {
		/*  对响应错误做点什么 （statusCode !== 200）*/
		if (response.config.custom.loading) {
			uni.hideLoading();
		}
		return response;
	}
);

export default $http;